#ifndef _WATCHDOG_H_
#define _WATCHDOG_H_

/**
 * @brief // 加载动态库并获取函数地址
 * @return 0-success -1:failure
*/
int wdtLoadLibrary(const char* lib_path);

/**
 * @brief // 卸载动态库
 * @return
*/
void wdtUnloadLibrary();

/**
 * @brief 加载watchdog驱动，sbsa_gwdt.ko
 * @return 0-success -1:failure
*/
int wdtLoadDriver();

/**
 * @brief 协助watchdog驱动，sbsa_gwdt.ko
 * @return 0-success -1:failure
*/
int wdtUnloadDriver();

/**
 * @brief 启动硬件狗
 * @return 0:success -1:failure
 */
int wdtStart();

/**
 * @brief 关闭硬件狗
 * @return 0:success -1:failure
 */
int wdtStop();

/**
* @brief 喂狗
* @return 0-success -1:failure
*/
int wdtFeed(int feedTime, int rebootTime);

/**
 * @brief 获取硬件狗的状态
 * @return -1:未启动 or >=0 剩余重启时间
 */
int wdtStatus();

#endif /* _WATCHDOG_H_ */